package com.xiaoxi.bms.service.common.circulation;

import org.apache.poi.ss.usermodel.Row;

import java.util.List;
import java.util.Map;

/**
 * @author xiaoxi
 * @version 1.0
 * @date 2022/8/2 19:41
 */
public interface ImportDataToDataBaseService {


    /**
     * 导入数据
     *
     * @param row
     * @param params
     * @return
     */
    <T> T buildExcelRow(Row row, Map<String, Object> params);

    /**
     * 保存数据
     *
     * @param excelRows
     * @param <T>
     * @return
     */
    <T> Boolean saveBatchData(List<T> excelRows);

    /**
     * 导入失败，回滚
     *
     * @param params
     */
    void removeImportData(Map<String, Object> params);

    /**
     * 回退给 调用者，处理自己的业务逻辑
     *
     * @param importStatus
     * @param importNumber
     * @param params
     */
    void finallyResult(Boolean importStatus, Integer importNumber, Map<String, Object> params);


}
